package matse11.project;

import android.app.Activity;
import android.content.Intent;
import android.os.Bundle;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.Button;
import android.widget.EditText;
import android.widget.RadioButton;
import android.widget.RadioGroup;


public class SpielActivity extends Activity 
{
	private Spiel blackJackApp;
	private final static int id = 1;
	/** Called when the activity is first created. */
    
    public void onCreate(Bundle savedInstanceState) 
    { 
    	
    	super.onCreate(savedInstanceState);
    	Intent intent = getIntent();
    	Intent einsatz = new Intent(this, EinsatzActivity.class);
    	startActivityForResult(einsatz, id);
    	setContentView(R.layout.spielview);
    	
    	String name = intent.getStringExtra("name");
		Spieler lSpieler = new Spieler(name);
		blackJackApp = new Spiel(lSpieler);
		
		Button naechste = (Button)findViewById(R.id.btKarte);
		Button halten = (Button) findViewById(R.id.btHalten);
		naechste.setOnClickListener(new naeKarteClick(this));
		halten.setOnClickListener(new haltenClick(this));
		
		ersteKarten((Spieler)blackJackApp.mitspieler.get(1), (Dealer) blackJackApp.mitspieler.get(0));		
    }
    
    public void onActivityResult(int requestCode, int resultCode, Intent data)
    {
    	int einsatz =0;
    	switch(requestCode)
    	{
    		case id:
    			switch (resultCode)
    			{
    				case Activity.RESULT_OK:
    					einsatz = data.getIntExtra("einsatz", 0);
    					break;
    				case Activity.RESULT_CANCELED:
    					einsatz = 0;
    					break;
    			}
    			
    	}
    	
    		System.out.println(einsatz);
    		
//    		blackJackApp.
    	
    }
    
    private void ersteKarten(Spieler s, Dealer d) {
    	Karte neu = blackJackApp.blackjack.austeilen();
 		blackJackApp.ausgeteilt.add(blackJackApp.karten.indexOf(neu));
		s.handkarten.add(neu);
		
		neu = blackJackApp.blackjack.austeilen();
 		blackJackApp.ausgeteilt.add(blackJackApp.karten.indexOf(neu));
		s.handkarten.add(neu);
		
		neu = blackJackApp.blackjack.austeilen();
 		blackJackApp.ausgeteilt.add(blackJackApp.karten.indexOf(neu));
		d.handkarten.add(neu);
		
		neu = blackJackApp.blackjack.austeilen();
 		blackJackApp.ausgeteilt.add(blackJackApp.karten.indexOf(neu));
		d.handkarten.add(neu);
    }

 	private void dealerAnDerReihe(Dealer d) 
 	{
 		System.out.println("Dealer!!");
 		boolean weitereKarte = true;
		while (weitereKarte) {
			Karte neu = blackJackApp.blackjack.austeilen();
			blackJackApp.ausgeteilt.add(blackJackApp.karten.indexOf(neu));
			d.handkarten.add(neu);
			d.punkte=blackJackApp.blackjack.punkteBestimmen(d);
			System.out.println("dd" + blackJackApp.blackjack.punkteBestimmen(d));
			if (!d.naechsterZug(weitereKarte))
				weitereKarte = false;	
			
		}
		System.out.println(blackJackApp.blackjack.auswerten(d, (Spieler) blackJackApp.mitspieler.get(1)));
 	}
 	

class naeKarteClick implements OnClickListener{
	private Activity act;
	public naeKarteClick(Activity pAct)	{
		act = pAct;
	}
	public void onClick(View v) 
	{
		System.out.println("NEXT!");
		Spieler s = (Spieler) blackJackApp.mitspieler.get(1);
		Karte neu = blackJackApp.blackjack.austeilen();
		blackJackApp.ausgeteilt.add(blackJackApp.karten.indexOf(neu));
		s.handkarten.add(neu);
		System.out.println(neu.getWert());
		System.out.println(blackJackApp.blackjack.punkteBestimmen(s));
		
		if (blackJackApp.blackjack.punkteBestimmen(s)>=21)
			{
				System.out.println("keine karte ziehen!");
				dealerAnDerReihe((Dealer)blackJackApp.mitspieler.get(0));
			}
		
	}
}

class haltenClick implements OnClickListener{
	private Activity act;
	public haltenClick(Activity pAct)	{
		act = pAct;
	}
	@Override
	public void onClick(View v) {
		dealerAnDerReihe((Dealer) blackJackApp.mitspieler.get(0));
		int ergebnis = blackJackApp.blackjack.auswerten
				((Dealer) blackJackApp.mitspieler.get(0), (Spieler) blackJackApp.mitspieler.get(1));
			
		System.out.println(ergebnis);
		
		Intent intent = getIntent();
	    Intent einsatz = new Intent(act.getBaseContext(), EinsatzActivity.class);
	    startActivityForResult(einsatz, id);
	}
}

class spielenClick implements OnClickListener{
	private Activity act;
	public spielenClick(Activity pAct)	{
		act = pAct;
	}
	public void onClick(View v) 
	{
		act.setContentView(R.layout.spielview);
		SpielView view = (SpielView)findViewById(R.layout.spielview);
		view.setSpiel(blackJackApp);
		
	}
}

class rundeBeendenClick implements OnClickListener{
	private Activity act;	
	public rundeBeendenClick(Activity pAct)	
	{
		act = pAct;
	}
	@Override
	public void onClick(View v) 
	{
		
		Intent intent = new Intent(act, HighscoreActivity.class);
		act.startActivity(intent);
	}
}
}